# coding=utf-8
from selenium import webdriver
import time
import random
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait as WD
from selenium.webdriver.common.by import By
# test
driver = webdriver.Chrome()
driver.get("http://www.5itest.cn/register")
time.sleep(5)
print(EC.title_contains("注册"))

email_element = driver.find_element_by_id("register_email")
# random.sample输出的是list,用''.join包裹 可以转换成为字符串
for i in range(5):
    user_email = ''.join(random.sample("1234567890abcdefg", 5)) + "@163.com"
    print(user_email)
# ement = driver.find_element_by_class_name("controls")
# 使用WebDriverWait方法找到在规定的时间里找到元素是否存在，存在即往下执行，不存在则返回信息，可以将方法封装后使用
# 只需要传入元素类型和元素本身即可
loactor = (By.CLASS_NAME, "controls")
WD(driver, 1).until(EC.visibility_of_element_located(loactor))

# email_element = driver.find_element_by_id("register_email")
# get_attribute获取属性的信息
# print(email_element.get_attribute("placeholder"))
# email_element.send_keys("test@163.com")
# 在输入框中有值的话如果在get_attribute方法中使用元素名称获取输入的值会无法获取，需要用value代替元素名称获取
# print(email_element.get_attribute("value"))


# driver需要关闭，不关闭的话会在后台同时启动多个导致很卡的情况
driver.close

# 当使用的是elements时我们定位的元素返回的是一个list，可以通过下标的方式来找到自己需要的那个元素，可以避免过多的使用xpath，只有返回为list的时候才可以使用len()方法来确定元素

# driver.find_elements_by_class_name("111")[2]
